One essential value of electronic spreadsheets is to organize data into columns and rows, while automating tedious calculations. A typical, common, and valuable example of such a set of data organized into columns and rows is a range of cells. Even if a range of cells receives a formal and strict definition within electronic spreadsheet environments, it is flexible enough so that information can be included in either a single range of cells or in a set of several ranges of cells. Ranges of cells therefore are quite useful objects. A range of cell can be defined and processed as a whole entity. For example it can be copied from one place to another place within the spreadsheet or from one spreadsheet file to another spreadsheet file. Ranges of cells are widely used in applications developed in the field of electronic spreadsheets. Most often, the ranges of cells are arranged according to some kind of structure, thus becoming structured ranges of cells. The contents of each cell is defined within an element, where an element is defined as a row of a structured range of cells, and then the same kind of element is repeated a certain number of times, to store/process a variable number of information pieces. Most of the time, several instances of similar structured ranges of cells are used. In the current context where no other tool is really available, instances of such similar structured ranges of cells are frequently created through cut/copy and paste operations. In order to keep a high level of intellectual control over growing quantities of information, human being needs to organize or structure this information. The hierarchical model is often used, because allowing nested structures. A typical and well known example of such a hierarchical structure is the directory tree of computer Operating Systems, such as DOS (Disk Operating System) or Microsoft Windows. The root directory may contain files and/or a number of directories, which may themselves contain files and/or a number of directories, which may themselves contain files and/or a number of directories, etc. Recursivity help structure the information and maintain intellectual control over it. This need for recursivity applies as well, in spreadsheet environment to structured ranges of cells. When several instances of structured ranges of cells are defined and used in an electronic spreadsheet file, they are often themselves structured according to a specific superstructure arrangement or “array of structured ranges of cells” which can be duplicated between different electronic spreadsheet files or even within a single electronic spreadsheet file. Within such an array of structured ranges of cells, it is common to find several structured ranges of cells which follow the same intermediate superstructure, and also some other structured ranges of cells following other intermediate superstructures. The array of structured ranges of cells may then be viewed as a set of aggregated intermediate superstructures of structured ranges of cells. In the current context of conventional electronic spreadsheets, instances of such arrays of structured ranges of cells are frequently created through cut/copy and paste operations.
Creating a new instance of a structured range of cells is complex and lengthy, particularly because a conventional range of cells shows strong limitations:                (i) structure information (such as number of columns, number of rows), format information (such as font style, color or border), and contents information (such as formulas or raw—or informative—data) are mixed,        (ii) the size of the range of cell is fixed at a given instant.        
Therefore, when a spreadsheet user wants to create another range of cells with an identical structure, he/she needs to perform successively several operations. He/she needs to:    1. copy-paste an existing structured range of cells,    2. distinguish between areas containing raw—or informative—data and areas containing generic content such as formulas,    3. empty the copied structured range of cells of the copied raw data while trying to keep the structure, format and generic contents,    4. adjust the size of the structured copied range of cells to his new needs.    5. eventually, fill the raw data area with default values, in order to ease subsequent data entry.
Furthermore, before copying and pasting a structured range of cells, the user must prepare the place for the copied structured range of cells, with the risk of overwriting, and therefore loosing the preexisting information at the destination location. This chain of operations rapidly becomes tedious, lengthy and prone to error, especially when manipulated structured ranges of cells increase in size and complexity.
When recusivity is involved, creating a new instance of an array of structured ranges of cells is even more complex and lengthy, particularly because an array of structured range of cells involves a twofold level of structure:                At the lower level a set of multiple, and even different, instances of structured ranges of cells must be created. As previously mentioned, this operation is itself complex, lengthy and prone to error due to the limitations of conventional ranges of cells.        At the higher level, the creation of an instance of an array of structured range of cells would require that the spreadsheet user carry on several operations:                    1. Identify an existing instance of an array of structured ranges of cells, used as a reference for creating the new instance.            2. Prepare the place, at the destination location, to hold the new instance, at the risk of possibly overwriting, and then loosing, any pre-existing information.            3. Copy-Paste the reference instance of the array of structured range of cells onto the destination location.            4. Adjust the structure of the newly created instance of an array of structured ranges of cells to his/her new needs, by either deleting or introducing within the array one or several intermediate superstructures of instances of structured ranges of cells.            5. Clean the content of each instance of structured ranges of cells comprised within the array.            6. Eventually fill each instance of structured ranges of cells with the relevant default values.                        
U.S. Pat. No. 5,033,009 entitled “System for generating worksheet files for electronic spreadsheets” Steven J. Dubnoff, Mar. 3, 1989, is an interesting document of prior art. This invention develops the concepts of pattern data and variable data that may be integrated to generate a worksheet file through a worksheet file generator. However, this invention shows many limitations preventing it from solving the set of issues presented here above and, in particular:                It aims at producing a new output spreadsheet from a set of two input files, while there is a need, within a user application environment, to create and manipulate new entities within an existing electronic spreadsheet file, that the user is familiar with.        It contains no mechanism allowing the direct update of the output spreadsheet, other than the regular spreadsheet tool.        It contains no capability to manipulate within the same spreadsheet file, a variable number of different structures and a variable number of instances of each of those structure. The granularity is limited to the spreadsheet file, while the required granularity is that of a structured range of cells.        The so called “file format specification” really mixes structure information (such as number and relative position of columns and rows), presentation information (such as font, color, background, etc.), contents information (such as formulas, etc.).        